package com.hyl.dao;


import com.hyl.entity.SysRole;
import com.hyl.vo.SysRoleParamVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description TODO
 * @Author hyl
 * @Date 2023/3/31 10:47
 **/
public interface SysRoleMapper {
	//查询所有
	List<SysRole> findAll();

	//根据Id获取用角色==>单个
	SysRole findById(Integer id);

	//根据Id获取用角色==>单个==>获取角色的时候，把角色该角色所对应的所有用户取出来
	SysRole findRoleAndUserById(Integer id);


	/**
	 * 多条件查询
	 * @param roleName
	 * @param code
	 * @param offset
	 * @param showSize
	 * @return
	 */
	List<SysRole>  findByParams(
			@Param("name") String roleName,
			@Param("code") String code,
			@Param("offset") Integer offset,
			@Param("showSize") Integer showSize);

	//多条件查询==>map==>key==>用于mapper映射的引用
	List<SysRole> findByMap(Map map);

	//多条件查询==>实体==》属性/字段==>用于mapper映射的引用
	List<SysRole>  findByVO(SysRoleParamVO vo);


	//修改
	int update(SysRole role);

	//删除
	int del(Integer id);

	//新增
	int save(SysRole role);

}
